Changer les couleurs des fichiers et des répertoires dans la sortie ls

Traduction de l’article original Changing the Colors of Files and Directories in ls Output de baeldung du 3 mai 2023

1. Vue d'ensemble

 

La commande ls est un utilitaire largement utilisé dans les systèmes d'exploitation Unix qui permet aux utilisateurs de répertorier le contenu d'un répertoire. Par défaut, ls génère une simple liste de noms de fichiers et de répertoires sans distinction visuelle entre les différents types de fichiers ou attributs.

Dans ce didacticiel, nous allons explorer comment changer la couleur des fichiers et des répertoires dans la commande ls . Nous examinerons également la possibilité d'attribuer des couleurs distinctes à différents types de fichiers et attributs. Cela permet aux utilisateurs de distinguer rapidement les différentes catégories de fichiers dans un répertoire.

2. Comprendre l' utilitaire dircolors

 

La personnalisation des couleurs des fichiers et des répertoires dans la sortie ls peut améliorer considérablement la lisibilité et la structure des listes de répertoires. C'est particulièrement important lorsqu'il s'agit d'un répertoire contenant de nombreux fichiers ou ayant une structure de répertoires complexe . En utilisant un jeu de couleurs personnalisé, il est plus facile d'identifier rapidement les types de fichiers dans un répertoire et de les différencier.

Avant de personnaliser les couleurs des fichiers et répertoires dans la sortie ls , il est nécessaire de vérifier si l' utilitaire dircolors est déjà installé sur notre système :

$ dircolors --version

dircolors (GNU coreutils) 8.22

Copyright (C) 2013 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

Si dircolors n'est pas installé sur notre système, nous pouvons l'installer à l'aide de son gestionnaire de packages. Sur les systèmes basés sur Yum , nous pouvons installer dircolors avec la commande suivante :

$ sudo yum install coreutils

Sur les systèmes basés sur apt , nous pouvons exécuter la commande suivante pour installer dircolors :

$ sudo apt-get install coreutils

Générons un fichier de configuration par défaut en utilisant l' option –print-database de la commande dircolors :

$ dircolors --print-database > ~/.dir_colors

La commande dircolors sous Linux définit le jeu de couleurs pour les fichiers et répertoires affichés par la commande ls . De plus, l' option –print-database indique à dircolors d'afficher la base de données de couleurs par défaut sur le terminal.

Pour le démontrer, examinons le fichier .dir_colors :

TERM Eterm

TERM ansi

...

DIR 01;34 # directory

LINK 01;36 # symbolic link. (If you set this to 'target' instead of a

.tar 01;31

.tgz 01;31

.arc 01;31

.arj 01;31

.taz 01;31

.lha 01;31

.lz4 01;31

.lzh 01;31

.lzma 01;31

.tlz 01;31

 # numerical value, the color is as for the file pointed to.)

MULTIHARDLINK 00 # regular file with more than one link

...

.spx 00;36

.xspf 00;36

Dans le fichier dir_colors  ci-dessus , chaque catégorie possède un code couleur spécifique. De plus, en changeant le code couleur associé à une entité, on peut changer la couleur du répertoire ou du fichier.

Il est important de noter que chaque ligne doit commencer par le nom du type de fichier, suivi de deux points et d'un espace, puis du code couleur.

3. Personnalisation de la palette de couleurs

 

L' utilitaire dircolors permet aux utilisateurs de personnaliser le jeu de couleurs ls . De plus, il lit un fichier de configuration, généralement situé dans ~/.dir_colors , et attribue des couleurs spécifiques à différents types et attributs de fichiers.

De plus, la personnalisation des couleurs des répertoires et des fichiers dans la sortie ls peut améliorer la lisibilité et améliorer l'organisation visuelle.

3.1. Comprendre les codes couleurs

 

Il est important de comprendre les différentes variables et codes de couleur utilisés dans le fichier de configuration pour personnaliser efficacement le jeu de couleurs.

La variable di correspond aux répertoires, et son code couleur par défaut est « 01;34 » , qui représente le texte bleu sur fond noir .

De plus, certains types de fichiers courants et leurs codes de couleur par défaut incluent les répertoires « di : 01;34 » , les fichiers exécutables « ex : 01;32 » , les liens symboliques « ln : 01;36 » et les fichiers compressés « *.gz : 01 ». ;31” .

3.2. Modification du fichier de configuration

 

Nous pouvons personnaliser le jeu de couleurs de la commande ls en éditant le fichier de configuration ~/.dir_colors .

Nous pouvons également attribuer de nouvelles couleurs à différents types de fichiers et attributs pour appliquer nos personnalisations. Le fichier de configuration se compose de noms de variables et de codes de couleur. Chaque variable correspond à un type de fichier ou à un attribut, et chaque code couleur représente une couleur spécifique.

Avant de modifier le fichier ~/.dir_colors  , exécutons la commande ls -lsh pour examiner les couleurs des fichiers et des répertoires :

bleu décolorébleu décoloré 

Dans l'image ci-dessus, nous pouvons voir que la couleur actuelle du répertoire est bleue . Pour illustrer, mettons à jour le code couleur des répertoires dans le fichier ~/.dir_colors  :

FILE 32 # regular file

DIR 01;31 # directory

Dans la configuration ci-dessus, nous avons modifié le code couleur du répertoire de « 01;34 » à « 01;31 » et le code couleur du fichier de 00 à 32 .

3.3. Application des modifications

 

Après avoir modifié le fichier de configuration pour personnaliser le jeu de couleurs, nous rechargeons le fichier pour appliquer les modifications :

$ eval $(dircolors ~/.dir_colors)

L'exécution de la commande ci-dessus applique la configuration de couleur spécifiée dans ~/.dir_colors à la commande ls . Par conséquent, la sortie ls affichera les couleurs configurées pour différents types de fichiers et de répertoires.

3.4. Vérification des couleurs personnalisées

 

Vérifions les modifications du code couleur en exécutant ls -lsh dans le même répertoire :

couleurs rougescouleurs rouges 

Dans l'image ci-dessus, nous pouvons voir que la couleur du répertoire est passée du bleu au rouge et que la couleur du fichier est passée au vert.

4. Conclusion

 

Dans cet article, nous avons exploré comment changer la couleur des fichiers et des répertoires dans la commande ls .

Tout d’abord, nous avons examiné le concept de base des dircolors . Après cela, nous avons mis à jour les couleurs des fichiers et des répertoires dans la sortie de la commande ls à l'aide de l'utilitaire dircolors  .